iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
Vibe Coding

以開發「智慧健身與習慣追蹤 PWA 」為主軸的 30 天 Vibe Coding 挑戰清單。系列 第 6

[Day 6] 資料庫綱要設計:從關聯式思維轉換到 Firebase NoSQL 結構

  • 分享至 

  • xImage
  •  
**今天我們將要完成開始寫code前的最後一步**

在請AI開始寫第一行邏輯前,還差一步: 資料庫綱要(Database Schema)。這次專案選用的是 Firebase Firestore,這是一種 NoSQL 文件型資料庫 (Document Database)。 Firestore 裡,沒有固定的 Table,取而代之的是靈活的「集合 (Collections)」與「文件 (Documents)」。
// Firestore 結構預覽

AI Prompt:
@firebase.json @domain/ppl.js @domain/laterality.js @seed/catalog.js
你現在是精通 Firebase Firestore 的後端架構師。我們正在開發一款「智慧健身與習慣追蹤 PWA」,請幫我設計 Firestore 的資料庫綱要 (Schema),並以 JSON 格式呈現每一層 Collection 與 Document 的欄位設計。
設計要求
Users 集合: 儲存使用者的基本資料與偏好(如:正在執行的 PPL 循環天數)。
Workouts 集合(子集合): 記錄每一天的訓練日誌,必須包含當天的訓練類型(Push, Pull, Legs)。
Sets 集合(子集合): 記錄單一器材的訓練數據。我特別需要追蹤胸推機 (Chest Press Machine) 以及各類 Cable 滑輪機變化動作的細節。因此欄位必須包含:重量、次數、以及是否區分左右側(對應 laterality.js,記錄 Left/Right/Both)。
Habits 集合: 用於記錄每日的習慣打卡狀態(True/False),以便未來繪製熱力圖 (Heatmap)。
請直接給我結構草圖,並簡單用一句話解釋為何如此分層

AI ANS:
users (Collection)
└── {userId} (Document)
├── displayName: "宏ㄟ"
├── email: "user@example.com"
├── createdAt: "2026-09-18T08:00:00Z"
├── preferences: { pplSplit: 4, theme: "dark", unit: "kg" }
├── habits (Subcollection)
│ └── {date_YYYYMMDD} (Document)
│ ├── date: "2026-09-18"
│ ├── completed: true
│ └── checks: { sleep: true, water: true, stretch: false }
└── workouts (Subcollection)
└── {workoutId} (Document)
├── date: "2026-09-18"
├── type: "Push"
├── status: "completed"
└── exercises (Subcollection)
└── {exerciseId} (Document)
├── machine: "Chest Press Machine"
├── variant: "Unilateral Chest Press"
├── catalogKey: "chest-press-unilateral"
├── laterality: "unilateral"
└── sets (Subcollection)
└── {setId} (Document)
├── setIndex: 1
├── reps: 10
├── weight: 40
├── side: "left"
└── completed: true
為何如此分層(一句話)
users 管人與 PPL 天數;habits 按日存 True/False 好畫熱力圖;workouts 記當天 Push/Pull/Legs;exercises 記胸推/滑輪變化;sets 才記重量、次數與 Left/Right/Both,查詢與離線寫入都只動需要的那一層。

當 AI 產出這份結構後,將上面的結構圖存為SCHEMA.md以供未來AI可以參考,才不會在寫邏輯時迷路,或偏移軌道。


上一篇
[Day 5] 零手寫挑戰:用終極架構圖,一鍵生成 PWA 專案實體檔案!
下一篇
[Day 7] 第一週回顧:Vibe Coding 初體驗的AI雷包紀錄與心態重塑
系列文
以開發「智慧健身與習慣追蹤 PWA 」為主軸的 30 天 Vibe Coding 挑戰清單。9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言